Page({

  data: {
    userInfo:{},
  },

  //直接设置token值，假的授权
  handleGetUserVisit(){
    //1、获取用户信息
    //2、获取小程序登录成功后的code
    //3、发送请求获取用户的token
    //4、将token值放入缓存中
    wx.setStorageSync("token", "BearereyJhIUzICJ9.eyJ1aWQiOjIzjU2NDczMDA3OH0.YPt-XeLnjV-_1ITaXGY2FhCfnPo");
    //5、返回前一个页面
    wx.navigateBack({
      delta: 1
    });
  },



  //获取用户信息授予权限得到token
  //2021年4月13号，getUserInfo 换成 getUserProfile
  handlegetUserInfo(e){
    console.log(e)
    //1、获取用户信息
    const {encrytedData,rawData,iv,signature} = e.detail;
    //2、获取小程序登录成功后的code
    let code = "" ; 
    wx.login({
      timeout:10000,
      success:(res)=>{
        code = res.code;
      }
    });
    console.log(code+"-----")
    const loginParams = {encrytedData,rawData,iv,signature,code}

    //3、发送请求获取用户的token
    let token = "" ;
    wx.request({
      url: 'https://api-hmugo-web.itheima.net/api/public/v1/users/wxlogin',
      data:{
        loginParams:loginParams
      },
      method:"post",
      success: function(res) {
        token = res
      }
    })
    console.log(token+"--------***")
    wx.setStorageSync("token", token);
    wx.navigateBack({
      delta: 1
    });
  } ,

  handleGetUserProfile(e) {
    //通过getUserProfile获取用户个人信息
    wx.getUserProfile({
      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        console.log(res)
        this.setData({
          userInfo: res.userInfo
        })
      }
    })
   
  } ,

  //获取token具体逻辑
  getUserInfo(e){
    console.log(e)
    //1、获取用户信息
    const {encrytedData,rawData,iv,signature} = e.detail;
    //3、获取小程序登录成功后的code
    let code = "" ;
    wx.login({
      timeout:10000,
      success:(res)=>{
        //console.log(res)
        code = res.code ;
      }
    });
    //用户信息是单独获取的所以rawData中没有用户数据，所以加一个参数 userInfo 
    let userInfo = this.data.userInfo  //这个获取到的是空，因为异步请求会先执行此代码，小程序中可以使用 Promise 解决
    const loginParams = {encrytedData,rawData,iv,signature,code,userInfo}   

    //4、发送请求获取用户的token
    let token = "" ;
    wx.request({
      url: 'http://localhost:8080/ShopWx/users/wxlogin',
      data:{
        loginParams:loginParams  //传递参数(假的)
      },
      method:"post",
      success: function(res) {
        console.log(res)
        token = res.data
      }
    })
    //wx.setStorageSync("token", token);
    wx.setStorageSync("token", "abcedf");  //没有启动后台服务，所以先写个假的
    wx.navigateBack({
        delta: 1
    });

  }
})